package com.yenroc.invoice.pojo.xml;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;

@XmlRootElement(name = "EInvoiceData")
@XmlAccessorType(XmlAccessType.FIELD)
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class EInvoiceDataXmlDTO {
    /**
     * 销售方信息
     */
    @XmlElementRef(name = "SellerInformation")
    private SellerInformationXmlDTO sellerInformation;

    /**
     * 购买方信息
     */
    @XmlElementRef(name = "BuyerInformation")
    private BuyerInformationXmlDTO buyerInformation;

    @XmlElementRef(name = "BasicInformation")
    private BasicInformationXmlDTO basicInformation;

    @XmlElementRef(name = "IssuItemInformation")
    private List<IssuItemInformationXmlDTO> issuItemInformation;

    @XmlElementRef(name = "SpecificInformation")
    private SpecificInformationXmlDTO specificInformation;

    @XmlElementRef(name = "AdditionalInformation")
    private AdditionalInformationXmlDTO additionalInformation;

    @XmlElementRef(name = "Additional")
    private AdditionalXmlDTO additional;
}